Private Sub Worksheet_Change(ByVal Target As Range)

    Dim  As Range
    Dim  As Range
    
    Set  = Intersect(Target, Range("B3:E8"))
    
    If Not  Is Nothing Then
    
        For Each  In 
            
            If IsNumeric(.Value) Then
                If .Value - Int(.Value) > 0 Then
                    .NumberFormat = "#,##0.00"
                Else
                    .NumberFormat = "#,###"
                End If
            End If
        
        Next

    End If

End Sub